POET: a scripting language for applying parameterized source‐to‐source program transformations
Identifieur interne : 000014 ( Main/Exploration ); précédent : 000013; suivant : 000015POET: a scripting language for applying parameterized source‐to‐source program transformations
Auteurs : Qing Yi [États-Unis]Source :
- Software: Practice and Experience [ 0038-0644 ] ; 2012-06.
English descriptors
Abstract
We present POET, a scripting language designed for applying advanced program transformations to code in arbitrary programming languages as well as building ad hoc translators between these languages. We have used POET to support a large number of compiler optimizations, including loop interchange, parallelization, blocking, fusion/fission, strength reduction, scalar replacement, SSE vectorization, among others, and to fully support the code generation of several domain‐specific languages, including automatic tester/timer generation, and automatically translating a finite‐state‐machine‐based behavior modeling language into C++/ Java code. This paper presents key design and implementation decisions of the POET language and show how to use various language features to significantly reduce the difficulty of supporting programmable compiler optimization for high performance computing and supporting ad hoc code generation for various domain‐specific languages. Copyright © 2011 John Wiley & Sons, Ltd.
Url:
DOI: 10.1002/spe.1089
Affiliations:
Links toward previous steps (curation, corpus...)
Le document en format XML
<record><TEI wicri:istexFullTextTei="biblStruct"><teiHeader><fileDesc><titleStmt><title xml:lang="en">POET: a scripting language for applying parameterized source‐to‐source program transformations</title>
<author><name sortKey="Yi, Qing" sort="Yi, Qing" uniqKey="Yi Q" first="Qing" last="Yi">Qing Yi</name>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">ISTEX</idno>
<idno type="RBID">ISTEX:0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D</idno>
<date when="2012" year="2012">2012</date>
<idno type="doi">10.1002/spe.1089</idno>
<idno type="url">https://api.istex.fr/document/0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D/fulltext/pdf</idno>
<idno type="wicri:Area/Main/Corpus">000D88</idno>
<idno type="wicri:explorRef" wicri:stream="Main" wicri:step="Corpus" wicri:corpus="ISTEX">000D88</idno>
<idno type="wicri:Area/Main/Curation">000D88</idno>
<idno type="wicri:Area/Main/Exploration">000014</idno>
<idno type="wicri:explorRef" wicri:stream="Main" wicri:step="Exploration">000014</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title level="a" type="main" xml:lang="en">POET: a scripting language for applying parameterized source‐to‐source program transformations</title>
<author><name sortKey="Yi, Qing" sort="Yi, Qing" uniqKey="Yi Q" first="Qing" last="Yi">Qing Yi</name>
<affiliation wicri:level="2"><country xml:lang="fr">États-Unis</country>
<wicri:regionArea>University of Texas at San Antonio, San Antonio, TX</wicri:regionArea>
<placeName><region type="state">Texas</region>
</placeName>
</affiliation>
</author>
</analytic>
<monogr></monogr>
<series><title level="j">Software: Practice and Experience</title>
<title level="j" type="abbrev">Prog. Softw. Pract. Exper.</title>
<idno type="ISSN">0038-0644</idno>
<idno type="eISSN">1097-024X</idno>
<imprint><publisher>John Wiley & Sons, Ltd</publisher>
<pubPlace>Chichester, UK</pubPlace>
<date type="published" when="2012-06">2012-06</date>
<biblScope unit="volume">42</biblScope>
<biblScope unit="issue">6</biblScope>
<biblScope unit="page" from="675">675</biblScope>
<biblScope unit="page" to="706">706</biblScope>
</imprint>
<idno type="ISSN">0038-0644</idno>
</series>
<idno type="istex">0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D</idno>
<idno type="DOI">10.1002/spe.1089</idno>
<idno type="ArticleID">SPE1089</idno>
</biblStruct>
</sourceDesc>
<seriesStmt><idno type="ISSN">0038-0644</idno>
</seriesStmt>
</fileDesc>
<profileDesc><textClass><keywords scheme="KwdEn" xml:lang="en"><term>compiler optimization</term>
<term>source‐to‐source translators</term>
<term>transformation language</term>
</keywords>
</textClass>
<langUsage><language ident="en">en</language>
</langUsage>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en">We present POET, a scripting language designed for applying advanced program transformations to code in arbitrary programming languages as well as building ad hoc translators between these languages. We have used POET to support a large number of compiler optimizations, including loop interchange, parallelization, blocking, fusion/fission, strength reduction, scalar replacement, SSE vectorization, among others, and to fully support the code generation of several domain‐specific languages, including automatic tester/timer generation, and automatically translating a finite‐state‐machine‐based behavior modeling language into C++/ Java code. This paper presents key design and implementation decisions of the POET language and show how to use various language features to significantly reduce the difficulty of supporting programmable compiler optimization for high performance computing and supporting ad hoc code generation for various domain‐specific languages. Copyright © 2011 John Wiley & Sons, Ltd.</div>
</front>
</TEI>
<affiliations><list><country><li>États-Unis</li>
</country>
<region><li>Texas</li>
</region>
</list>
<tree><country name="États-Unis"><region name="Texas"><name sortKey="Yi, Qing" sort="Yi, Qing" uniqKey="Yi Q" first="Qing" last="Yi">Qing Yi</name>
</region>
</country>
</tree>
</affiliations>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Wicri/France/explor/AussoisV1/Data/Main/Exploration
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 000014 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Main/Exploration/biblio.hfd -nk 000014 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Wicri/France |area= AussoisV1 |flux= Main |étape= Exploration |type= RBID |clé= ISTEX:0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D |texte= POET: a scripting language for applying parameterized source‐to‐source program transformations }}
This area was generated with Dilib version V0.6.29. |